package CapaDao;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author -
 */
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class Censo {
    
    //Variables privadas.
    private String nif;
    private String pass;
    private String votado;

    //Constructo Vacio.
    public Censo() {
    }

    //Constructor Personalizado.
    public Censo(String vNif, String vVotado) {
        this.nif = vNif;
        this.votado = vVotado;
    }
    public int votar(String vnif, Connection conex)throws SQLException{
    int resultado = 0;
    try{
         Statement s=conex.createStatement();//Para la conexion prestablecida.
         resultado=s.executeUpdate("UPDATE CENSO SET VOTADO='SI' WHERE NIF='"+vnif+"'");//Realizamos la consulta.
    
       }
        catch(SQLException sqle){}
    if(resultado==0){
        
         return resultado;
    }
      return 1;  
        
    }
    
    public boolean buscarVotante (String vnif,String vpassword, Connection conex){
    try{
         Statement s=conex.createStatement();//Para la conexion prestablecida.
         ResultSet rs=s.executeQuery("SELECT NIF, PASSWORD, VOTADO FROM CENSO WHERE NIF='"+vnif+"' AND PASSWORD='"+vpassword+"' AND VOTADO='NO'");//Realizamos la consulta.
 
      if(rs.next())
     return true;}
     catch(SQLException SQLE){
     SQLE.getMessage();
     }
     return false;
     }
    
  
    
    public String getNif() {
        return nif;
    }

    public void setNif(String nif) {
        this.nif = nif;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public String getVotado() {
        return votado;
    }

    public void setVotado(String votado) {
        this.votado = votado;
    }

    //Metodo toString.

    @Override
    public String toString() {
        return "Censo{" + "nif=" + nif + ", pass=" + pass + ", votado=" + votado + '}';
    }
    
    //Otros Metodos.

    public ArrayList<Censo>Votado(Connection conex){//Metodo que recibira un parametro de conexion.
        
        ArrayList <Censo>ListarVotado=new ArrayList();//Creamos un nuevo arraylist vacio.
        
        try{
            Statement s=conex.createStatement();//Para la conexion prestablecida.
            ResultSet rs=s.executeQuery("SELECT NIF, VOTADO FROM CENSO");//Realizamos la consulta.
        
        while(rs.next()){//Muestra el siguiente.
            //Vamos Añadiendo al array objetos con el dni y el voto.
            ListarVotado.add(new Censo(rs.getString("NIF"),rs.getString("VOTADO")));
        }
        
        }
        catch(SQLException sqle){}
        return ListarVotado;//Devuelve el contenido
    }
}